package com.moyoutian.sort;

import com.moyoutian.utils.ArrayUtils;

/**
 * 插入排序练习
 * 思想概述：
 * 前面的都是排好序的数据，讲一个新的数据插入到已有数据中。
 * 一个一个比较，然后确定位置
 */
public class InsertSort {

    public static void main(String[] args) {
        int[] ints = {5, 1, 3, 2, 0, 9, 7, 8, 11, 23, 4};
        ArrayUtils.printArray(ints);
        sort(ints);
        ArrayUtils.printArray(ints);
    }

    /**
     * @param ints 待排序数组
     */
    public static void sort(int[] ints) {
        for (int i = 1; i < ints.length; i++) {
            for (int j = i; j > 0; j--) {
                if (ints[j - 1] > ints[j]) {
                    ArrayUtils.swap(ints, j - 1, j);
                }
            }
        }
    }
}
